#ifndef CA_H
#define CA_H

#include "grid.h"


class CA
{
public:

    int step;
    Grid* current_states;
    Grid* new_states;

    CA():step(0){}
    virtual bool next()=0;
    virtual void start(int steps)=0;
    virtual void start()=0;
    virtual int getStep()const=0;
    virtual Grid* grid_copy()const=0;
    virtual void set(const Grid& grid) =0;

};





#endif // CA_H



